/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.agil.photoalbum.web.servlets;

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

import com.agil.photoalbum.db.dao.Functions;
import com.agil.photoalbum.db.entities.User;

/**
 *
 * @author Hovanessyan
 */
public class LoginServlet extends HttpServlet {
   
    /** 
    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
    * @param request servlet request
    * @param response servlet response
    */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        
        try {
        	
        	String username = request.getParameter("username");
            String password = request.getParameter("password");
            
            if(Functions.validateAccount(username, password)) {
            	HttpSession session = request.getSession();
            	//get user by username and put it in the session
            	User loggedUser = Functions.getUserByUserName(username);
                session.setAttribute("user", loggedUser);
                response.sendRedirect("/pages/homePage.jsp");
            }
            else {
            	 //HttpSession session = request.getSession();
            	 response.sendRedirect("/pages/registerForm.jsp");
            } 
            
        } finally { 
            //out.close();
        }
    } 

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
    * Handles the HTTP <code>GET</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    /** 
    * Handles the HTTP <code>POST</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
    * Returns a short description of the servlet.
    */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
